The Bits Between The Lambdas : Binary Data in a Lazy Functional
نویسندگان
چکیده
For the programmer, storage media are usually assumed to have a minimum atomic unit of transfer of one byte. However , sometimes it is useful to have an even ner storage granularity of one bit, for instance in order to compress data. This paper describes an API in the lazy functional language Haskell for treating storage media as arbitrary-length streams of bits, without byte-alignment constraints. So far as possible, storage media are treated uniformly. In particular , bit-stream memory and binary les share the same API { a new and useful abstraction over memory management and le management. This uniformity of access leads to a novel technique for lazy random-access to les in a purely functional manner. We also describe a technique for automatically deriving compressed binary representations of user-deened data structures, whose operations provide both in-heap data compression and convenient high-level binary I/O. Of many possible applications, we illustrate the processing of Huuman-encoded image data, and a bibliographic information system which uses lazy B-Trees for eecient storage management.
منابع مشابه
In submission Modular , Higher - Order Cardinality Analysis in Theory and Practice
Since the mid 80's, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language , which is both simple and effective, and present measurements o...
متن کاملHigher - Order Cardinality Analysis Extended version
Since the mid 80’s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of its use in ...
متن کاملIn submission Modular , Higher - Order Cardinality Analysis in Theory and Practice
Since the mid 80's, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language , which is both simple and effective, and present measurements o...
متن کاملModular, Higher-Order Cardinality Analysis in Theory and Practice Extended version
Since the mid ’80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of...
متن کاملFeature selection using genetic algorithm for classification of schizophrenia using fMRI data
In this paper we propose a new method for classification of subjects into schizophrenia and control groups using functional magnetic resonance imaging (fMRI) data. In the preprocessing step, the number of fMRI time points is reduced using principal component analysis (PCA). Then, independent component analysis (ICA) is used for further data analysis. It estimates independent components (ICs) of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012